package com.zhiche.lisa.mdm.service.impl;


import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zhiche.lisa.mdm.dao.mapper.LicenseTypeMapper;
import com.zhiche.lisa.mdm.dao.model.LicenseType;
import com.zhiche.lisa.mdm.dao.model.bo.LicenseTypeBO;
import com.zhiche.lisa.mdm.service.ILicenseTypeService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import java.util.List;
import java.util.Objects;

/**
 * <p>
 * 证照类型 服务实现类
 * </p>
 *
 * @author qichao
 * @since 2018-06-22
 */
@Service
public class LicenseTypeServiceImpl extends ServiceImpl<LicenseTypeMapper, LicenseType> implements ILicenseTypeService {

    @Override
    public List<LicenseType> getLicenseTypesBySujectType(String subjectType) {
        EntityWrapper<LicenseType> ew = new EntityWrapper<>();
        ew.eq("subject_type",subjectType).orderBy("type_code");
        List<LicenseType> licenseTypes = this.selectList(ew);
        return licenseTypes;
    }

    @Override
    public LicenseTypeBO getLinceseTypeByTypeCode(String typeCode, String subjectType) {
        LicenseTypeBO licenseTypeBO = null;
        List<LicenseTypeBO> licenseTypeBOs = baseMapper.selectByTypeCode(typeCode,subjectType);
        if(!CollectionUtils.isEmpty(licenseTypeBOs)){
            licenseTypeBO = licenseTypeBOs.get(0);
        }
        return licenseTypeBO;
    }

    @Override
    public LicenseTypeBO getLinceseTypeById(Long id) {
        LicenseTypeBO licenseTypeBO = null;
        LicenseType licenseType = this.selectById(id);
        if(Objects.nonNull(licenseType)){
            licenseTypeBO = new LicenseTypeBO();
            BeanUtils.copyProperties(licenseType,licenseTypeBO);
        }
        return licenseTypeBO;
    }
}
